package com.xuetang.service;

import com.xuetang.entity.AdminUser;

import java.util.List;

/**
 * 管理员用户服务接口
 */
public interface AdminUserService {

    /**
     * 管理员登录
     *
     * @param username 用户名
     * @param password 密码
     * @return 登录成功返回用户信息，失败返回null
     */
    AdminUser login(String username, String password);

    /**
     * 根据用户名查找管理员
     *
     * @param username 用户名
     * @return 管理员信息
     */
    AdminUser findByUsername(String username);

    /**
     * 根据ID查找管理员
     *
     * @param id 管理员ID
     * @return 管理员信息
     */
    AdminUser findById(Long id);

    /**
     * 根据ID获取管理员用户
     *
     * @param id 用户ID
     * @return 管理员用户
     */
    AdminUser getById(Long id);

    /**
     * 获取所有管理员用户
     *
     * @return 管理员用户列表
     */
    List<AdminUser> listAll();

    /**
     * 添加管理员用户
     *
     * @param adminUser 管理员用户信息
     * @return 是否成功
     */
    boolean add(AdminUser adminUser);

    /**
     * 更新管理员用户
     *
     * @param adminUser 管理员用户信息
     * @return 是否成功
     */
    boolean update(AdminUser adminUser);

    /**
     * 删除管理员用户
     *
     * @param id 用户ID
     * @return 是否成功
     */
    boolean delete(Long id);
}